In the course of processing data, computer systems often need to evaluate data items based on multiple factors. In the particular object-focused computer system described herein below, an object is received by the system and the processing of that object depends on the evaluation of data items called attributes. These so-called attributes correspond to variables in non-object-focused computer systems.
As an example of the processing of attributes in an object-focused system, consider a customer call center which receives customer telephone calls. An attribute that may be evaluated is call_priority, which will be assigned a value depending on various factors, such as previous calls from the customer, input already received from the customer identifying the reason for the call, the potential value of the call, etc. The factors are evaluated and the results of the evaluations are combined in some manner in order to determine the value to be assigned to the call_priority attribute. The manner in which the factors are evaluated, and the manner in which the results are combined, are defined by some business policy regarding the handling of calls. Once the business policy is articulated, it must be specified in a manner understandable to a computer system implementing the call center.
In accordance with the data evaluation technique described below, which is the subject of related copending U.S. patent application Ser. No. 09/253,274, entitled, Data Item Evaluation Based on the Combination of Multiple Factors, data items are evaluated in accordance with associated computation rules and a combining policy. The computation rules specify the factors to be taken into account in the evaluation of the data item, and how the factors are to be evaluated. The combining policy specifies how the results of the evaluation of the factors are to be combined in order to assign a value to the data item. The computation rules comprise a condition and a term. The evaluation of a computation rule consists of the evaluation of the condition, and if the condition is true, then contributing the term to a collection of values. The collection of values is then combined in accordance with the combining policy to produce a value which is assigned to the data item. The use of computation rules and a combining policy in accordance with this technique provides for a powerful and flexible technique for evaluating data items based on the combination of factors. Further, a program specification in accordance with this technique is easy to maintain and modify because the specification of how factors are to be evaluated are specified by the computation rules, and the specification of how the factor evaluation results are to be combined are specified by the combining policy. This separation results in a specification which is easier to understand, maintain, and modify.